Field programmable gate arrays (FPGAs) are integrated circuits (ICs) designed to be configured by end users rather than being hard-wired to a particular circuit during manufacturing. FPGAs generally have a programmable core including a plurality of logic array blocks as well as reconfigurable interconnects to allow the logic blocks to be wired together in various configurations. The logic array blocks may include logic gates, flip-flops or other memories, and/or more sophisticated elements such as embedded multipliers. FPGAs may further include various clock circuits and input/output circuits.
The core, input/output circuits, and other powered elements of an FPGA present multiple loads that must be powered by a power supply. In other words, FPGAs are typically multiple-load devices. In some cases, there may be numerous (e.g., on the order of ten or even more) different loads in an FPGA to be powered, each having its own voltages and current requirements. The FPGA loads may place further restrictions on the power supply circuitry according to additional parameters and requirements, such as maximum ripple voltage, low dropout regulator, low pass filter, separate supply, monotonic startup behavior, minimum and maximum startup times, and the use of a specific switching frequency. FPGA power supplies may have still further constraints, such as sequencing requirements such that the different loads start up and shut down in a specific order.
In addition to these functional requirements, additional design parameters such as power supply efficiency, component and printed circuit board footprint size, and overall component cost are considerations when designing a power supply solution for an FPGA. Because of the numerous loads and other constraints, creating and optimizing a power supply for multiple-load devices such as FPGAs may be a long and tedious process.